&soc {
	tlmm: pinctrl@03000000 {
		compatible = "qcom,sdm660-pinctrl";
		reg = <0x03000000 0xc00000>;
		reg-names = "pinctrl", "spi_cfg";
		interrupts-extended = <&wakegic GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		wakeup-parent = <&wakegpio>;
		#interrupt-cells = <2>;
		irqdomain-map = <1 0 &wakegpio 3 0>,
				<5 0 &wakegpio 4 0>,
				<9 0 &wakegpio 5 0>,
				<10 0 &wakegpio 6 0>,
				<66 0 &wakegpio 7 0>,
				<22 0 &wakegpio 8 0>,
				<25 0 &wakegpio 9 0>,
				<28 0 &wakegpio 10 0>,
				<58 0 &wakegpio 11 0>,
				<41 0 &wakegpio 13 0>,
				<43 0 &wakegpio 14 0>,
				<40 0 &wakegpio 15 0>,
				<42 0 &wakegpio 16 0>,
				<46 0 &wakegpio 17 0>,
				<50 0 &wakegpio 18 0>,
				<44 0 &wakegpio 19 0>,
				<56 0 &wakegpio 21 0>,
				<45 0 &wakegpio 22 0>,
				<68 0 &wakegpio 23 0>,
				<69 0 &wakegpio 24 0>,
				<70 0 &wakegpio 25 0>,
				<71 0 &wakegpio 26 0>,
				<72 0 &wakegpio 27 0>,
				<73 0 &wakegpio 28 0>,
				<64 0 &wakegpio 29 0>,
				<2 0 &wakegpio  30 0>,
				<13 0 &wakegpio 31 0>,
				<111 0 &wakegpio 32 0>,
				<74 0 &wakegpio 33 0>,
				<75 0 &wakegpio 34 0>,
				<76 0 &wakegpio 35 0>,
				<82 0 &wakegpio 36 0>,
				<17 0 &wakegpio 37 0>,
				<77 0 &wakegpio 38 0>,
				<47 0 &wakegpio 39 0>,
				<54 0 &wakegpio 40 0>,
				<48 0 &wakegpio 41 0>,
				<101 0 &wakegpio 42 0>,
				<49 0 &wakegpio 43 0>,
				<51 0 &wakegpio 44 0>,
				<86 0 &wakegpio 45 0>,
				<90 0 &wakegpio 46 0>,
				<91 0 &wakegpio 47 0>,
				<52 0 &wakegpio 48 0>,
				<55 0 &wakegpio 50 0>,
				<6 0 &wakegpio 51 0>,
				<65 0 &wakegpio 53 0>,
				<67 0 &wakegpio 55 0>,
				<83 0 &wakegpio 56 0>,
				<84 0 &wakegpio 57 0>,
				<85 0 &wakegpio 58 0>,
				<87 0 &wakegpio 59 0>,
				<21 0 &wakegpio 63 0>,
				<78 0 &wakegpio 64 0>,
				<113 0 &wakegpio 65 0>,
				<60 0 &wakegpio 66 0>,
				<98 0 &wakegpio 67 0>,
				<30 0 &wakegpio 68 0>,
				<31 0 &wakegpio 70 0>,
				<29 0 &wakegpio 71 0>,
				<107 0 &wakegpio 76 0>,
				<109 0 &wakegpio 83 0>,
				<103 0 &wakegpio 84 0>,
				<105 0 &wakegpio 85 0>;
		irqdomain-map-pass-thru = <0 0xff>;
		irqdomain-map-mask = <0xff 0>;


		uart_console_active: uart_console_active {
			mux {
				pins = "gpio4", "gpio5";
				function = "blsp_uart2";
			};

			config {
				pins = "gpio4", "gpio5";
				drive-strength = <2>;
				bias-disable;
			};
		};

		led_enable: led_enable {
			mux {
				pins = "gpio40";
				function = "gpio";
			};

			config {
				pins = "gpio40";
				drive_strength = <2>;
				output-high;
				bias-disable;
			};
		};

		led_disable: led_disable {
			mux {
				pins = "gpio40";
				function = "gpio";
			};

			config {
				pins = "gpio40";
				drive_strength = <2>;
				output-low;
				bias-disable;
			};
		};

		trigout_a: trigout_a {
			mux {
				pins = "gpio49";
				function = "qdss_cti0_a";
			};

			config {
				pins = "gpio49";
				drive-strength = <16>;
				bias-disable;
				output-low;
			};
		};

		ufs_dev_reset_assert: ufs_dev_reset_assert {
			config {
				pins = "ufs_reset";
				bias-pull-down;		/* default: pull down */
				/*
				 * UFS_RESET driver strengths are having
				 * different values/steps compared to typical
				 * GPIO drive strengths.
				 *
				 * Following table clarifies:
				 *
				 * HDRV value | UFS_RESET | Typical GPIO
				 *   (dec)    |   (mA)    |    (mA)
				 *     0      |   0.8     |    2
				 *     1      |   1.55    |    4
				 *     2      |   2.35    |    6
				 *     3      |   3.1     |    8
				 *     4      |   3.9     |    10
				 *     5      |   4.65    |    12
				 *     6      |   5.4     |    14
				 *     7      |   6.15    |    16
				 *
				 * POR value for UFS_RESET HDRV is 3 which means
				 * 3.1mA and we want to use that. Hence just
				 * specify 8mA to "drive-strength" binding and
				 * that should result into writing 3 to HDRV
				 * field.
				 */
				drive-strength = <8>;	/* default: 3.1 mA */
				output-low; /* active low reset */
			};
		};

		ufs_dev_reset_deassert: ufs_dev_reset_deassert {
			config {
				pins = "ufs_reset";
				bias-pull-down;		/* default: pull down */
				/*
				 * default: 3.1 mA
				 * check comments under ufs_dev_reset_assert
				 */
				drive-strength = <8>;
				output-high; /* active low reset */
			};
		};

		/* SDC pin type */
		sdc1_clk_on: sdc1_clk_on {
			config {
				pins = "sdc1_clk";
				bias-disable;		/* NO pull */
				drive-strength = <16>;	/* 16 MA */
			};
		};

		sdc1_clk_off: sdc1_clk_off {
			config {
				pins = "sdc1_clk";
				bias-disable;		/* NO pull */
				drive-strength = <2>;	/* 2 MA */
			};
		};

		sdc1_cmd_on: sdc1_cmd_on {
			config {
				pins = "sdc1_cmd";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc1_cmd_off: sdc1_cmd_off {
			config {
				pins = "sdc1_cmd";
				num-grp-pins = <1>;
				bias-pull-up;		/* pull up */
				drive-strength = <2>;	/* 2 MA */
			};
		};

		sdc1_data_on: sdc1_data_on {
			config {
				pins = "sdc1_data";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc1_data_off: sdc1_data_off {
			config {
				pins = "sdc1_data";
				bias-pull-up;		/* pull up */
				drive-strength = <2>;	/* 2 MA */
			};
		};

		sdc1_rclk_on: sdc1_rclk_on {
			config {
				pins = "sdc1_rclk";
				bias-pull-down; /* pull down */
			};
		};

		sdc1_rclk_off: sdc1_rclk_off {
			config {
				pins = "sdc1_rclk";
				bias-pull-down; /* pull down */
			};
		};

		sdc2_clk_on: sdc2_clk_on {
			config {
				pins = "sdc2_clk";
				drive-strength = <16>; /* 16 MA */
				bias-disable; /* NO pull */
			};
		};

		sdc2_clk_off: sdc2_clk_off {
			config {
				pins = "sdc2_clk";
				bias-disable; /* NO pull */
				drive-strength = <2>; /* 2 MA */
			};
		};

		sdc2_cmd_on: sdc2_cmd_on {
			config {
				pins = "sdc2_cmd";
				bias-pull-up; /* pull up */
				drive-strength = <10>; /* 10 MA */
			};
		};

		sdc2_cmd_off: sdc2_cmd_off {
			config {
				pins = "sdc2_cmd";
				bias-pull-up; /* pull up */
				drive-strength = <2>; /* 2 MA */
			};
		};

		sdc2_data_on: sdc2_data_on {
			config {
				pins = "sdc2_data";
				bias-pull-up; /* pull up */
				drive-strength = <10>; /* 10 MA */
			};
		};

		sdc2_data_off: sdc2_data_off {
			config {
				pins = "sdc2_data";
				bias-pull-up; /* pull up */
				drive-strength = <2>; /* 2 MA */
			};
		};

		sdc2_cd_on: cd_on {
			mux {
				pins = "gpio54";
				function = "gpio";
			};

			config {
				pins = "gpio54";
				drive-strength = <2>;
				bias-pull-up;
			};
		};

		sdc2_cd_off: cd_off {
			mux {
				pins = "gpio54";
				function = "gpio";
			};

			config {
				pins = "gpio54";
				drive-strength = <2>;
				bias-disable;
			};
		};

		/* I2C CONFIGURATION */
		i2c_1 {
			i2c_1_active: i2c_1_active {
				mux {
					pins = "gpio2", "gpio3";
					function = "blsp_i2c1";
				};

				config {
					pins = "gpio2", "gpio3";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_1_sleep: i2c_1_sleep {
				mux {
					pins = "gpio2", "gpio3";
					function = "blsp_i2c1";
				};

				config {
					pins = "gpio2", "gpio3";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_1_bitbang: i2c_1_bitbang {
				mux {
					pins = "gpio2", "gpio3";
					function = "gpio";
				};

				config {
					pins = "gpio2", "gpio3";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		i2c_2 {
			i2c_2_active: i2c_2_active {
				mux {
					pins = "gpio6", "gpio7";
					function = "blsp_i2c2";
				};

				config {
					pins = "gpio6", "gpio7";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_2_sleep: i2c_2_sleep {
				mux {
					pins = "gpio6", "gpio7";
					function = "blsp_i2c2";
				};

				config {
					pins = "gpio6", "gpio7";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_2_bitbang: i2c_2_bitbang {
				mux {
					pins = "gpio6", "gpio7";
					function = "gpio";
				};

				config {
					pins = "gpio6", "gpio7";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		i2c_3 {
			i2c_3_active: i2c_3_active {
				mux {
					pins = "gpio10", "gpio11";
					function = "blsp_i2c3";
				};

				config {
					pins = "gpio10", "gpio11";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_3_sleep: i2c_3_sleep {
				mux {
					pins = "gpio10", "gpio11";
					function = "blsp_i2c3";
				};

				config {
					pins = "gpio10", "gpio11";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_3_bitbang: i2c_3_bitbang {
				mux {
					pins = "gpio10", "gpio11";
					function = "gpio";
				};

				config {
					pins = "gpio10", "gpio11";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		i2c_4 {
			i2c_4_active: i2c_4_active {
				mux {
					pins = "gpio14", "gpio15";
					function = "blsp_i2c4";
				};

				config {
					pins = "gpio14", "gpio15";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_4_sleep: i2c_4_sleep {
				mux {
					pins = "gpio14", "gpio15";
					function = "blsp_i2c4";
				};

				config {
					pins = "gpio14", "gpio15";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_4_bitbang: i2c_4_bitbang {
				mux {
					pins = "gpio14", "gpio15";
					function = "gpio";
				};

				config {
					pins = "gpio14", "gpio15";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		i2c_5 {
			i2c_5_active: i2c_5_active {
				mux {
					pins = "gpio18", "gpio19";
					function = "blsp_i2c5";
				};

				config {
					pins = "gpio18", "gpio19";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_5_sleep: i2c_5_sleep {
				mux {
					pins = "gpio18", "gpio19";
					function = "blsp_i2c5";
				};

				config {
					pins = "gpio18", "gpio19";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_5_bitbang: i2c_5_bitbang {
				mux {
					pins = "gpio18", "gpio19";
					function = "gpio";
				};

				config {
					pins = "gpio18", "gpio19";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		i2c_6 {
			i2c_6_active: i2c_6_active {
				mux {
					pins = "gpio22", "gpio23";
					function = "blsp_i2c6";
				};

				config {
					pins = "gpio22", "gpio23";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_6_sleep: i2c_6_sleep {
				mux {
					pins = "gpio22", "gpio23";
					function = "blsp_i2c6";
				};

				config {
					pins = "gpio22", "gpio23";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_6_bitbang: i2c_6_bitbang {
				mux {
					pins = "gpio22", "gpio23";
					function = "gpio";
				};

				config {
					pins = "gpio22", "gpio23";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		nfc {
			nfc_int_active: nfc_int_active {
				/* active state */
				mux {
					/* GPIO 28 NFC Read Interrupt */
					pins = "gpio28";
					function = "gpio";
				};

				config {
					pins = "gpio28";
					drive-strength = <2>; /* 2 MA */
					bias-pull-up;
				};
			};

			nfc_int_suspend: nfc_int_suspend {
				/* sleep state */
				mux {
					/* GPIO 28 NFC Read Interrupt */
					pins = "gpio28";
					function = "gpio";
				};

				config {
					pins = "gpio28";
					drive-strength = <2>; /* 2 MA */
					bias-pull-up;
				};
			};

			nfc_enable_active: nfc_enable_active {
				/* active state */
				mux {
					/* 29: NFC ENABLE 30:FW DNLD */
					/* 31:ESE Enable */
					pins = "gpio29", "gpio30", "gpio31";
					function = "gpio";
				};

				config {
					pins = "gpio29", "gpio30", "gpio31";
					drive-strength = <2>; /* 2 MA */
					bias-pull-up;
				};
			};

			nfc_enable_suspend: nfc_enable_suspend {
				/* sleep state */
				mux {
					/* 29: NFC ENABLE 30:FW DNLD */
					/* 31:ESE Enable */
					pins = "gpio29", "gpio30", "gpio31";
					function = "gpio";
				};

				config {
					pins = "gpio29", "gpio30", "gpio31";
					drive-strength = <2>; /* 2 MA */
					bias-disable;
				};
			};
		};

		i2c_7 {
			i2c_7_active: i2c_7_active {
				mux {
					pins = "gpio26", "gpio27";
					function = "blsp_i2c7";
				};

				config {
					pins = "gpio26", "gpio27";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_7_sleep: i2c_7_sleep {
				mux {
					pins = "gpio26", "gpio27";
					function = "blsp_i2c7";
				};

				config {
					pins = "gpio26", "gpio27";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_7_bitbang: i2c_7_bitbang {
				mux {
					pins = "gpio26", "gpio27";
					function = "gpio";
				};

				config {
					pins = "gpio26", "gpio27";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		i2c_8 {
			i2c_8_active: i2c_8_active {
				mux {
					pins = "gpio30", "gpio31";
					function = "blsp_i2c8_a";
				};

				config {
					pins = "gpio30", "gpio31";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_8_sleep: i2c_8_sleep {
				mux {
					pins = "gpio30", "gpio31";
					function = "blsp_i2c8_a";
				};

				config {
					pins = "gpio30", "gpio31";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
			i2c_8_bitbang: i2c_8_bitbang {
				mux {
					pins = "gpio30", "gpio31";
					function = "gpio";
				};

				config {
					pins = "gpio30", "gpio31";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		/* SPI CONFIGURATION */
		spi_1 {
			spi_1_active: spi_1_active {
				mux {
					pins = "gpio0", "gpio1",
							"gpio2", "gpio3";
					function = "blsp_spi1";
				};

				config {
					pins = "gpio0", "gpio1",
							"gpio2", "gpio3";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_1_sleep: spi_1_sleep {
				mux {
					pins = "gpio0", "gpio1",
							"gpio2", "gpio3";
					function = "blsp_spi1";
				};

				config {
					pins = "gpio0", "gpio1",
							"gpio2", "gpio3";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		spi_2 {
			spi_2_active: spi_2_active {
				mux {
					pins = "gpio4", "gpio5",
							"gpio6", "gpio7";
					function = "blsp_spi2";
				};

				config {
					pins = "gpio4", "gpio5",
							"gpio6", "gpio7";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_2_sleep: spi_2_sleep {
				mux {
					pins = "gpio4", "gpio5",
							"gpio6", "gpio7";
					function = "blsp_spi2";
				};

				config {
					pins = "gpio4", "gpio5",
							"gpio6", "gpio7";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		spi_3 {
			spi_3_active: spi_3_active {
				mux {
					pins = "gpio8", "gpio9",
							"gpio10", "gpio11";
					function = "blsp_spi3";
				};

				config {
					pins = "gpio8", "gpio9",
							"gpio10", "gpio11";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_3_sleep: spi_3_sleep {
				mux {
					pins = "gpio8", "gpio9",
							"gpio10", "gpio11";
					function = "blsp_spi3";
				};

				config {
					pins = "gpio8", "gpio9",
							"gpio10", "gpio11";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		spi_4 {
			spi_4_active: spi_4_active {
				mux {
					pins = "gpio12", "gpio13",
							"gpio14", "gpio15";
					function = "blsp_spi4";
				};

				config {
					pins = "gpio12", "gpio13",
							"gpio14", "gpio15";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_4_sleep: spi_4_sleep {
				mux {
					pins = "gpio12", "gpio13",
							"gpio14", "gpio15";
					function = "blsp_spi4";
				};

				config {
					pins = "gpio12", "gpio13",
							"gpio14", "gpio15";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		spi_5 {
			spi_5_active: spi_5_active {
				mux {
					pins = "gpio16", "gpio17",
							"gpio18", "gpio19";
					function = "blsp_spi5";
				};

				config {
					pins = "gpio16", "gpio17",
							"gpio18", "gpio19";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_5_sleep: spi_5_sleep {
				mux {
					pins = "gpio16", "gpio17",
							"gpio18", "gpio19";
					function = "blsp_spi5";
				};

				config {
					pins = "gpio16", "gpio17",
							"gpio18", "gpio19";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		spi_6 {
			spi_6_active: spi_6_active {
				mux {
					pins = "gpio49", "gpio52",
							"gpio22", "gpio23";
					function = "blsp_spi6";
				};

				config {
					pins = "gpio49", "gpio52",
							"gpio22", "gpio23";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_6_sleep: spi_6_sleep {
				mux {
					pins = "gpio49", "gpio52",
							"gpio22", "gpio23";
					function = "blsp_spi6";
				};

				config {
					pins = "gpio49", "gpio52",
							"gpio22", "gpio23";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		spi_7 {
			spi_7_active: spi_7_active {
				mux {
					pins = "gpio24", "gpio25",
							"gpio26", "gpio27";
					function = "blsp_spi7";
				};

				config {
					pins = "gpio24", "gpio25",
							"gpio26", "gpio27";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_7_sleep: spi_7_sleep {
				mux {
					pins = "gpio24", "gpio25",
							"gpio26", "gpio27";
					function = "blsp_spi7";
				};

				config {
					pins = "gpio24", "gpio25",
							"gpio26", "gpio27";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		spi_8 {
			spi_8_active: spi_8_active {
				mux {
					pins = "gpio28", "gpio29",
							"gpio30", "gpio31";
					function = "blsp_spi8_a";
				};

				config {
					pins = "gpio28", "gpio29",
							"gpio30", "gpio31";
					drive-strength = <6>;
					bias-disable;
				};
			};

			spi_8_sleep: spi_8_sleep {
				mux {
					pins = "gpio28", "gpio29",
							"gpio30", "gpio31";
					function = "blsp_spi8_a";
				};

				config {
					pins = "gpio28", "gpio29",
							"gpio30", "gpio31";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};
		/* USB C analog configuration */
		wcd_usbc_analog_en1 {
			wcd_usbc_analog_en1_idle: wcd_usbc_ana_en1_idle {
				mux {
					pins = "gpio80";
					function = "gpio";
				};

				config {
					pins = "gpio80";
					drive-strength = <2>;
					bias-pull-down;
					output-low;
				};
			};

			wcd_usbc_analog_en1_active: wcd_usbc_ana_en1_active {
				mux {
					pins = "gpio80";
					function = "gpio";
				};

				config {
					pins = "gpio80";
					drive-strength = <2>;
					bias-disable;
					output-high;
				};
			};
		};

		wcd_usbc_analog_en2n {
			wcd_usbc_analog_en2n_idle: wcd_usbc_ana_en2n_idle {
				mux {
					pins = "gpio77";
					function = "gpio";
				};

				config {
					pins = "gpio77";
					drive-strength = <2>;
					bias-disable;
					output-high;
				};
			};

			wcd_usbc_analog_en2n_active: wcd_usbc_ana_en2n_active {
				mux {
					pins = "gpio77";
					function = "gpio";
				};

				config {
					pins = "gpio77";
					drive-strength = <2>;
					bias-pull-down;
					output-low;
				};
			};
		};

		sdw_clk_pin {
			sdw_clk_sleep: sdw_clk_sleep {
				mux {
					pins = "gpio24";
					function = "sndwire_clk";
				};

				config {
					pins = "gpio24";
					drive-strength = <2>;
					bias-bus-hold;
				};
			};

			sdw_clk_active: sdw_clk_active {
				mux {
					pins = "gpio24";
					function = "sndwire_clk";
				};

				config {
					pins = "gpio24";
					drive-strength = <2>;
					bias-bus-hold;
				};
			};
		};

		sdw_clk_data {
			sdw_data_sleep: sdw_data_sleep {
				mux {
					pins = "gpio25";
					function = "sndwire_data";
				};

				config {
					pins = "gpio25";
					drive-strength = <4>;
					bias-bus-hold;
				};
			};

			sdw_data_active: sdw_data_active {
				mux {
					pins = "gpio25";
					function = "sndwire_data";
				};

				config {
					pins = "gpio25";
					drive-strength = <4>;
					bias-bus-hold;
				};
			};
		};

		/* WSA speaker reset pins */
		spkr_1_sd_n {
			spkr_1_sd_n_sleep: spkr_1_sd_n_sleep {
				mux {
					pins = "gpio26";
					function = "gpio";
				};

				config {
					pins = "gpio26";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;
					input-enable;
				};
			};

			spkr_1_sd_n_active: spkr_1_sd_n_active {
				mux {
					pins = "gpio26";
					function = "gpio";
				};

				config {
					pins = "gpio26";
					drive-strength = <16>;   /* 16 mA */
					bias-disable;
					output-high;
				};
			};
		};

		spkr_2_sd_n {
			spkr_2_sd_n_sleep: spkr_2_sd_n_sleep {
				mux {
					pins = "gpio27";
					function = "gpio";
				};

				config {
					pins = "gpio27";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;
					input-enable;
				};
			};

			spkr_2_sd_n_active: spkr_2_sd_n_active {
				mux {
					pins = "gpio27";
					function = "gpio";
				};

				config {
					pins = "gpio27";
					drive-strength = <16>;   /* 16 mA */
					bias-disable;
					output-high;
				};
			};
		};

		wcd_gnd_mic_swap {
			wcd_gnd_mic_swap_idle: wcd_gnd_mic_swap_idle {
				mux {
					pins = "gpio63";
					function = "gpio";
				};
				config {
					pins = "gpio63";
					drive-strength = <2>;
					bias-pull-down;
					output-low;
				};
			};

			wcd_gnd_mic_swap_active: wcd_gnd_mic_swap_active {
				mux {
					pins = "gpio63";
					function = "gpio";
				};
				config {
					pins = "gpio63";
					drive-strength = <2>;
					bias-disable;
					output-high;
				};
			};
		};

		msm_hph_en0 {
			hph_en0_sleep: hph_en0_sleep {
				mux {
					pins = "gpio24";
					function = "gpio";
				};

				config {
					pins = "gpio24";
					output-low;
				};
			};

			hph_en0_active: hph_en0_active {
				mux {
					pins = "gpio24";
					function = "gpio";
				};

				config {
					pins = "gpio24";
					output-high;
				};
			};
		};

		msm_hph_en1 {
			hph_en1_sleep: hph_en1_sleep {
				mux {
					pins = "gpio25";
					function = "gpio";
				};

				config {
					pins = "gpio25";
					output-low;
				};
			};

			hph_en1_active: hph_en1_active {
				mux {
					pins = "gpio25";
					function = "gpio";
				};

				config {
					pins = "gpio25";
					output-high;
				};
			};
		};

		cci0_active: cci0_active {
			mux {
				/* CLK, DATA */
				pins = "gpio36","gpio37"; // Only 2
				function = "cci_i2c";
			};

			config {
				pins = "gpio36","gpio37";
				bias-pull-up; /* PULL UP*/
				drive-strength = <2>; /* 2 MA */
			};
		};

		cci0_suspend: cci0_suspend {
			mux {
				/* CLK, DATA */
				pins = "gpio36","gpio37";
				function = "cci_i2c";
			};

			config {
				pins = "gpio36","gpio37";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cci1_active: cci1_active {
			mux {
				/* CLK, DATA */
				pins = "gpio38","gpio39";
				function = "cci_i2c";
			};

			config {
				pins = "gpio38","gpio39";
				bias-pull-up; /* PULL UP*/
				drive-strength = <2>; /* 2 MA */
			};
		};

		cci1_suspend: cci1_suspend {
			mux {
				/* CLK, DATA */
				pins = "gpio38","gpio39";
				function = "cci_i2c";
			};


			config {
				pins = "gpio38","gpio39";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_actuator_vaf_active: cam_actuator_vaf_active {
			/* ACTUATOR POWER */
			mux {
				pins = "gpio50";
				function = "gpio";
			};

			config {
				pins = "gpio50";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_actuator_vaf_suspend: cam_actuator_vaf_suspend {
			/* ACTUATOR POWER */
			mux {
				pins = "gpio50";
				function = "gpio";
			};

			config {
				pins = "gpio50";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_tof_active: cam_tof_active {
			/* LASER */
			mux {
				pins = "gpio50", "gpio42", "gpio45";
				function = "gpio";
			};

			config {
				pins = "gpio50", "gpio42", "gpio45";
				bias-pull-up;
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_tof_suspend: cam_tof_suspend {
			/* LASER */
			mux {
				pins = "gpio50", "gpio42", "gpio45";
				function = "gpio";
			};

			config {
				pins = "gpio50", "gpio42", "gpio45";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk0_active: cam_sensor_mclk0_active {
			/* MCLK0 */
			mux {
				/* CLK */
				pins = "gpio32";
				function = "cam_mclk";
			};

			config {
				pins = "gpio32";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
			/* MCLK0 */
			mux {
				/* CLK */
				pins = "gpio32";
				function = "cam_mclk";
			};

			config {
				pins = "gpio32";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear_active: cam_sensor_rear_active {
			/* RESET, STANDBY */
			mux {
				pins = "gpio46","gpio44";
				function = "gpio";
			};

			config {
				pins = "gpio46","gpio44";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear_suspend: cam_sensor_rear_suspend {
			/* RESET, STANDBY */
			mux {
				pins = "gpio46","gpio44";
				function = "gpio";
			};

			config {
				pins = "gpio46","gpio44";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk1_active: cam_sensor_mclk1_active {
			/* MCLK1 */
			mux {
				/* CLK */
				pins = "gpio33";
				function = "cam_mclk";
			};

			config {
				pins = "gpio33";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
			/* MCLK1 */
			mux {
				/* CLK */
				pins = "gpio33";
				function = "cam_mclk";
			};

			config {
				pins = "gpio33";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear2_active: cam_sensor_rear2_active {
			/* RESET, STANDBY */
			mux {
				pins = "gpio48","gpio51";
				function = "gpio";
			};

			config {
				pins = "gpio48","gpio51";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear2_suspend: cam_sensor_rear2_suspend {
			/* RESET, STANDBY */
			mux {
				pins = "gpio48","gpio51";
				function = "gpio";
			};
			config {
				pins = "gpio48","gpio51";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk2_active: cam_sensor_mclk2_active {
			/* MCLK1 */
			mux {
				/* CLK */
				pins = "gpio34";
				function = "cam_mclk";
			};

			config {
				pins = "gpio34";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
			/* MCLK1 */
			mux {
				/* CLK */
				pins = "gpio34";
				function = "cam_mclk";
			};

			config {
				pins = "gpio34";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_front_active: cam_sensor_front_active {
			/* RESET  VANA*/
			mux {
				pins = "gpio47", "gpio44";
				function = "gpio";
			};

			config {
				pins = "gpio47", "gpio44";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_front_suspend: cam_sensor_front_suspend {
			/* RESET */
			mux {
				pins = "gpio47";
				function = "gpio";
			};

			config {
				pins = "gpio47";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk3_active: cam_sensor_mclk3_active {
			/* MCLK3 */
			mux {
				/* CLK */
				pins = "gpio35";
				function = "cam_mclk";
			};

			config {
				pins = "gpio35";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
			/* MCLK3 */
			mux {
				/* CLK */
				pins = "gpio35";
				function = "cam_mclk";
			};

			config {
				pins = "gpio35";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_front_iris_active: cam_sensor_front_iris_active {
			/* RESET */
			mux {
				pins = "gpio52";
				function = "gpio";
			};

			config {
				pins = "gpio52";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_front_iris_suspend: cam_sensor_front_iris_suspend {
			/* RESET */
			mux {
				pins = "gpio52";
				function = "gpio";
			};

			config {
				pins = "gpio52";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		/* HS UART CONFIGURATION */
		blsp1_uart1_active: blsp1_uart1_active {
			mux {
				pins = "gpio0", "gpio1", "gpio2", "gpio3";
				function = "blsp_uart1";
			};

			config {
				pins = "gpio0", "gpio1", "gpio2", "gpio3";
				drive-strength = <2>;
				bias-disable;
			};
		};

		blsp1_uart1_sleep: blsp1_uart1_sleep {
			mux {
				pins = "gpio0", "gpio1", "gpio2", "gpio3";
				function = "gpio";
			};

			config {
				pins = "gpio0", "gpio1", "gpio2", "gpio3";
				drive-strength = <2>;
				bias-disable;
			};
		};

		blsp1_uart2_active: blsp1_uart2_active {
			mux {
				pins = "gpio4", "gpio5", "gpio6", "gpio7";
				function = "blsp_uart2 ";
			};

			config {
				pins = "gpio4", "gpio5", "gpio6", "gpio7";
				drive-strength = <2>;
				bias-disable;
			};
		};

		blsp1_uart2_sleep: blsp1_uart2_sleep {
			mux {
				pins = "gpio4", "gpio5", "gpio6", "gpio7";
				function = "gpio";
			};

			config {
				pins = "gpio4", "gpio5", "gpio6", "gpio7";
				drive-strength = <2>;
				bias-disable;
			};
		};

		blsp2_uart1: blsp2_uart1 {
			blsp2_uart1_tx_active: blsp2_uart1_tx_active {
				mux {
					pins = "gpio16";
					function = "blsp_uart5";
				};

				config {
					pins = "gpio16";
					drive-strength = <2>;
					bias-disable;
				};
			};

			blsp2_uart1_tx_sleep: blsp2_uart1_tx_sleep {
				mux {
					pins = "gpio16";
					function = "gpio";
				};

				config {
					pins = "gpio16";
					drive-strength = <2>;
					bias-pull-up;
				};
			};

			blsp2_uart1_rxcts_active: blsp2_uart1_rxcts_active {
				mux {
					pins = "gpio17", "gpio18";
					function = "blsp_uart5";
				};

				config {
					pins = "gpio17", "gpio18";
					drive-strength = <2>;
					bias-disable;
				};
			};

			blsp2_uart1_rxcts_sleep: blsp2_uart1_rxcts_sleep {
				mux {
					pins = "gpio17", "gpio18";
					function = "gpio";
				};

				config {
					pins = "gpio17", "gpio18";
					drive-strength = <2>;
					bias-no-pull;
				};
			};

			blsp2_uart1_rfr_active: blsp2_uart1_rfr_active {
				mux {
					pins = "gpio19";
					function = "blsp_uart5";
				};

				config {
					pins = "gpio19";
					drive-strength = <2>;
					bias-disable;
				};
			};

			blsp2_uart1_rfr_sleep: blsp2_uart1_rfr_sleep {
				mux {
					pins = "gpio19";
					function = "gpio";
				};

				config {
					pins = "gpio19";
					drive-strength = <2>;
					bias-no-pull;
				};
			};
		};

		blsp2_uart2_active: blsp2_uart2_active {
			mux {
				pins = "gpio24", "gpio25", "gpio26", "gpio27";
				function = "blsp_uart6_a";
			};

			config {
				pins = "gpio24", "gpio25", "gpio26", "gpio27";
				drive-strength = <2>;
				bias-disable;
			};
		};

		blsp2_uart2_sleep: blsp2_uart2_sleep {
			mux {
				pins = "gpio24", "gpio25", "gpio26", "gpio27";
				function = "gpio";
			};

			config {
				pins = "gpio24", "gpio25", "gpio26", "gpio27";
				drive-strength = <2>;
				bias-disable;
			};
		};

		tlmm_gpio_key {
			gpio_key_active: gpio_key_active {
				mux {
					pins = "gpio64", "gpio113";
					function = "gpio";
				};

				config {
					pins = "gpio64", "gpio113";
					drive-strength = <2>;
					bias-pull-up;
				};
			};

			gpio_key_suspend: gpio_key_suspend {
				mux {
					pins = "gpio64", "gpio113";
					function = "gpio";
				};

				config {
					pins = "gpio64", "gpio113";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		pmx_mdss: pmx_mdss {
			mdss_dsi_active: mdss_dsi_active {
				mux {
					pins = "gpio53";
					function = "gpio";
				};

				config {
					pins = "gpio53";
					drive-strength = <8>; /* 8 mA */
					bias-disable = <0>; /* no pull */
				};
			};
			mdss_dsi_suspend: mdss_dsi_suspend {
				mux {
					pins = "gpio53";
					function = "gpio";
				};

				config {
					pins = "gpio53";
					drive-strength = <2>; /* 2 mA */
					bias-pull-down; /* pull down */
				};
			};
		};

		pmx_mdss_te {
			mdss_te_active: mdss_te_active {
				mux {
					pins = "gpio59";
					function = "mdp_vsync";
				};
				config {
					pins = "gpio59";
					drive-strength = <2>; /* 8 mA */
					bias-pull-down; /* pull down*/
				};
			};

			mdss_te_suspend: mdss_te_suspend {
				mux {
					pins = "gpio59";
					function = "mdp_vsync";
				};
				config {
					pins = "gpio59";
					drive-strength = <2>; /* 2 mA */
					bias-pull-down; /* pull down */
				};
			};
		};

		mdss_dp_aux_active: mdss_dp_aux_active {
			mux {
				pins = "gpio55", "gpio56";
				function = "gpio";
			};

			config {
				pins = "gpio55", "gpio56";
				bias-disable = <0>; /* no pull */
				drive-strength = <8>;
			};
		};

		mdss_dp_aux_suspend: mdss_dp_aux_suspend {
			mux {
				pins = "gpio55", "gpio56";
				function = "gpio";
			};

			config {
				pins = "gpio55", "gpio56";
				bias-pull-down;
				drive-strength = <2>;
			};
		};

		mdss_dp_usbplug_cc_active: mdss_dp_usbplug_cc_active {
			mux {
				pins = "gpio58";
				function = "gpio";
			};

			config {
				pins = "gpio58";
				bias-disable;
				drive-strength = <16>;
			};
		};

		mdss_dp_usbplug_cc_suspend: mdss_dp_usbplug_cc_suspend {
			mux {
				pins = "gpio58";
				function = "gpio";
			};

			config {
				pins = "gpio58";
				bias-pull-down;
				drive-strength = <2>;
			};
		};

		ts_mux {
			ts_active: ts_active {
				mux {
					pins = "gpio66", "gpio67";
					function = "gpio";
				};

				config {
					pins = "gpio66", "gpio67";
					drive-strength = <16>;
					bias-pull-up;
				};
			};

			ts_reset_suspend: ts_reset_suspend {
				mux {
					pins = "gpio66";
					function = "gpio";
				};

				config {
					pins = "gpio66";
					drive-strength = <2>;
					bias-pull-down;
				};
			};

			ts_int_suspend: ts_int_suspend {
				mux {
					pins = "gpio67";
					function = "gpio";
				};

				config {
					pins = "gpio67";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};
	};
};
